package com.zhihao.zhihaopicturebackend.model.dto.user;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.io.Serializable;

@ApiModel(description = "新增用户请求")
@Data
public class UserAddRequest implements Serializable {

    /**
     * 用户昵称
     */
    @ApiModelProperty(value = "用户名")
    private String userName;

    /**
     * 账号
     */
    @ApiModelProperty(value = "用户账号(仅能包含数字、字母、下划线'_'，长度必须在4-20个字符之间)", required = true, example = "zhihao_186")
    @NotBlank(message = "用户账号不能为空")
    @Pattern(regexp = "^[a-zA-Z0-9_]{4,30}$", message = "用户账号仅能包含数字、字母、下划线'_'")
    @Size(min = 4, max = 30, message = "用户账号长度必须在4-20个字符之间")
    private String userAccount;

    // 管理员新增用户的时候给一个默认的初始密码

    /**
     * 用户头像
     */
    @ApiModelProperty(value = "用户头像")
    private String userAvatar;

    /**
     * 用户简介
     */
    @ApiModelProperty(value = "用户简介")
    private String userProfile;

    /**
     * 用户角色: user, admin
     */
    @ApiModelProperty(value = "用户角色")
    private String userRole;

    private static final long serialVersionUID = 1L;
}
